import request from '@/utils/request'

export const systemApi = {
  // 获取系统信息
  getSystemInfo() {
    return request.get('/system/info')
  },

  // 获取系统统计数据
  getSystemStats() {
    return request.get('/system/stats')
  },

  // 获取系统运行状态
  getSystemStatus() {
    return request.get('/system/status')
  },

  // 获取系统配置
  getSystemConfig() {
    return request.get('/system/config')
  },

  // 更新系统配置
  updateSystemConfig(config) {
    return request.put('/system/config', config)
  },

  // 获取系统日志
  getSystemLogs(params = {}) {
    return request.get('/system/logs', { params })
  },

  // 清理系统日志
  clearSystemLogs(beforeDate) {
    return request.delete('/system/logs', { 
      data: { beforeDate } 
    })
  },

  // 获取系统监控数据
  getMonitoringData(timeRange = '1h') {
    return request.get('/system/monitoring', {
      params: { timeRange }
    })
  },

  // 获取系统性能指标
  getPerformanceMetrics() {
    return request.get('/system/performance')
  },

  // 系统备份
  createSystemBackup(options = {}) {
    return request.post('/system/backup', options)
  },

  // 获取备份列表
  getBackupList() {
    return request.get('/system/backups')
  },

  // 恢复系统备份
  restoreBackup(backupId) {
    return request.post(`/system/backups/${backupId}/restore`)
  },

  // 删除备份
  deleteBackup(backupId) {
    return request.delete(`/system/backups/${backupId}`)
  },

  // 获取系统更新信息
  getUpdateInfo() {
    return request.get('/system/updates')
  },

  // 检查系统更新
  checkUpdates() {
    return request.post('/system/check-updates')
  },

  // 系统维护模式
  enableMaintenanceMode(message = '') {
    return request.post('/system/maintenance', { enabled: true, message })
  },

  disableMaintenanceMode() {
    return request.post('/system/maintenance', { enabled: false })
  },

  // 获取系统通知
  getSystemNotifications() {
    return request.get('/system/notifications')
  },

  // 发送系统广播
  sendBroadcast(message, type = 'info') {
    return request.post('/system/broadcast', { message, type })
  },

  // 获取在线用户统计
  getOnlineUserStats() {
    return request.get('/system/online-users')
  },

  // 系统重启
  restartSystem() {
    return request.post('/system/restart')
  },

  // 清理系统缓存
  clearSystemCache() {
    return request.post('/system/clear-cache')
  },

  // 获取系统健康检查
  getHealthCheck() {
    return request.get('/system/health')
  },

  // 导出系统配置
  exportConfig() {
    return request.get('/system/export-config', {
      responseType: 'blob'
    })
  },

  // 导入系统配置
  importConfig(configFile) {
    const formData = new FormData()
    formData.append('config', configFile)
    return request.post('/system/import-config', formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  }
}
